package qianmo.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import qianmo.common.core.annotation.Excel;
import qianmo.common.core.web.domain.BaseEntity;

/**
 * 题目数据对象 questions
 * 
 * @author qianmo
 * @date 2025-03-22
 */
public class Questions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 题目唯一标识 */
    private Long id;

    /** 题目名称 */
    @Excel(name = "题目名称")
    private String name;

    /** 题目类型 */
    @Excel(name = "题目类型")
    private Long type;

    /** 题目所属学科ID */
    private Long subjectId;

    /** 题目所属课程ID */
    @Excel(name = "题目所属课程ID")
    private Long courseId;

    /** 题目难度 */
    @Excel(name = "题目难度")
    private Long difficulty;

    /** 题目题干 */
    @Excel(name = "题目题干")
    private String stem;

    /** 题目标准答案 */
    @Excel(name = "题目标准答案")
    private String standardAnswer;

    /** 答案的确定性 */
    @Excel(name = "答案的确定性")
    private Long answerCertainty;

    /** 题目标签 */
    @Excel(name = "题目标签")
    private String tags;

    /** 题目创建时间 */
    private Date createdAt;

    /** 题目更新时间 */
    private Date updatedAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }

    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }

    public void setDifficulty(Long difficulty) 
    {
        this.difficulty = difficulty;
    }

    public Long getDifficulty() 
    {
        return difficulty;
    }

    public void setStem(String stem) 
    {
        this.stem = stem;
    }

    public String getStem() 
    {
        return stem;
    }

    public void setStandardAnswer(String standardAnswer) 
    {
        this.standardAnswer = standardAnswer;
    }

    public String getStandardAnswer() 
    {
        return standardAnswer;
    }

    public void setAnswerCertainty(Long answerCertainty) 
    {
        this.answerCertainty = answerCertainty;
    }

    public Long getAnswerCertainty() 
    {
        return answerCertainty;
    }

    public void setTags(String tags) 
    {
        this.tags = tags;
    }

    public String getTags() 
    {
        return tags;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("type", getType())
            .append("subjectId", getSubjectId())
            .append("courseId", getCourseId())
            .append("difficulty", getDifficulty())
            .append("stem", getStem())
            .append("standardAnswer", getStandardAnswer())
            .append("answerCertainty", getAnswerCertainty())
            .append("tags", getTags())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
